package com.example.mysql.学习笔记.高级.事务.锁.锁的分类.从态度划分;

public class 乐观锁 {
}
/**
 * 2. 乐观锁(Optimistic Locking)      通过程序来实现
 * 乐观锁认为对同一数据的并发操作不会总发生，属于小概率事件，不用每次都对数据上锁，
 * 但是在更新的时候会判断一下在此期间别人有没有去更新这个数据，也就是不采用数据库自身的锁机制，
 * 而是通过程序来实现。
 * 在程序上，我们可以采用版本号机制或者CAS机制实现。
 * 乐观锁""""适用于多读的应用类型""""，这样可以提高吞吐量。在
 * Java中java.util.concurrent.atomic包下的原子变量类就
 * 是使用了乐观锁的一种实现方式: CAS实现的。
 *
 */
/**
 * 1.乐观锁的版本号机制
 * 在表中设计一个版本字段version,  每次事务会+1
 *     每次改变 会version++   当发现version不一样，说明不能修改
 * 2.乐观锁的时间戳机制   和版本号机制差不多
 *
 */